Semantics of prialt in Handel-CTM
نویسندگان
چکیده
This paper discusses the semantics of the prialt construct in HandelC[1]. The language is essentially a static subset of C, augmented with a parallel construct and channel communication, as found in CSP. All assignments and channel communication events take one clock cycle, with all updates synchronised with the clock edge marking the cycle end. The behaviour of prialt in Handel-C is similar in concept to that of occam [2, 3], and to the p-priority concept of Adrian Lawrence CSPP[4]. However, we have to contend with both input and output guards in Handel-C, unlike the situation in occam, although prialts with conflicting priority requirements are not legal in Handel-C. This makes our problem simpler than the more general case including such conflicts considered in [4]. We start with an informal discussion of the issues that arise when considering the semantics of HandelC’s prialt construct. We define a resolution function (R) that determines which requests in a collection of prialts become active. We describe a few properties that we expect to hold for resolution, and discuss the issue of compositionality.
منابع مشابه
Denotational Semantics of Handel-C Cores
We present a denotational semantics for a fully functional subset of the Handel-C hardware compilation language [9], based on the concept of typed assertion traces. We motivate the choice of semantic domains by illustrating the complexities of the behaviour of the language, paying particular attention to the prialt (priority-alternation) construct of Handel-C. We then define the typed assertion...
متن کاملAn Operational Semantics for Handel-C
We describe an operational semantics for the hardware compilation language HandelC [10], which is a C-like language with channel communication and parallel constructs which compile down to mainly synchronously clocked hardware. The work in this paper builds on previous work describing the semantics of priority within Handel-C [9] and a denotational semantics for part of the language [8]. We des...
متن کاملA "Hardware Compiler" Semantics for Handel-C
We present a denotational semantics for the hardware compilation language Handel-C that maps language constructs to a set of equations, which describe the structure of the resulting hardware. This semantics is then shown to be useful for validating various algebraic laws which should hold for Handel-C programs, as well as exposing a key principle which governs how such hardware should be operated.
متن کاملTesting Formal Semantics with QuickCheck
We describe the use of the Haskell testing package QuickCheck to aid in the debugging of the operational and denotational semantics of a hardware compilation language called Handel-C.
متن کاملSemantic domains for Handel-C
Handel-C is a programming language which is a hybrid of CSP and C, designed to target hardware implementations, specifically field-programmable gate arrays (FPGAs). The language is C-like with CSP-like parallel constructs and channel communication added. All assignments and channel communication events take one clock cycle while all expression and conditional evaluations are deemed to be instan...
متن کامل